/*
--------------------------------------------------------------------------------
- 文件：area.h

- 模块：ar

- 作用：管理大数据块，数据块根据需求自动分配。
        新分配的内存块的连接自动完成。
        
- 记录：2004.11.23 建立，version 0.1 ：王明东

--------------------------------------------------------------------------------
*/

#ifndef  _AREA_H_
#define  _AREA_H_

/*
********************************************************************************
* 数据块管理：
* 内部是以临时文件实现还是以动态申请的内存实现，对外界的使用者都是透明的。
* 
* 每个 block 由一个唯一的 id 来标志，所以填加、读、写操作都必须使用这个
* id 号来索引某个块。
* 
* 每个块还有一个属性，就是当前的长度。
* 有一个方法可以得到这个信息，就是使用 area_add_data( id, 0, NULL );
* 向其中填加空数据，可以得到该块的当前长度。
******************************************************************************** 
*/

/*
// 头文件引入。
*/
#include  "asmtype.h"

/*
// 宏定义。
*/

#define  AREA_INVALID_ID        (0)



/*
// 函数原型声明。
*/

/* 创建，删除 */
tetra  area_create( tetra  ele_size );
void  area_delete( tetra  id );

/* 填加／读／修改数据 */
tetra  area_add_data( tetra id, tetra len, void * buf );
tetra  area_read_data( tetra id, tetra  ofs, tetra len, void * buf );
tetra  area_write_data( tetra id, tetra  ofs, tetra len, void * buf );

/* 单元操作，to do */




#endif

